audiopus 0.1.3

High-level binding of the Opus Codec library.
Documentation

ci-badge docs-badge rust 1.33+ badge crates.io version

About

audiopus is a high-level binding of Opus version 1.3.

Orginally, this crate was made to empower the serenity-crate to build audio features on Windows, Linux, and Mac.

Everyone is welcome to contribute, check out the CONTRIBUTING.md for further guidance.

Building

Requirements

UNIX/GNU/MSYS2

You will need gcc, libclang, make, automake, autoconf, and libtool. Note that automake uses autoconf as dependency already. If you have pkg-config, the underlying audiopus_sys-crate will try finding Opus with pkg-config.

MSVC

Currently, audiopus links to a prebuilt Opus hence should just work. It supports x86 and x64 as dynamic or static build.

How Audiopus links

audiopus uses audiopus_sys, it links to Opus 1.3 and supports Windows, Linux, and MacOS. By default, it statically links to Windows, MacOS, and if you use the musl-environment. It will link dynamically for Linux except when using mentioned musl.

Environment variables named LIBOPUS_STATIC or OPUS_STATIC will take precedence over features thus overriding the behaviour. The value of these environment variables have no influence on the result: If one of them is set, statically linking will be picked.

Pre-installed Opus

If you have Opus pre-installed, you can set LIBOPUS_LIB_DIR or OPUS_LIB_DIR to point to the directory in which your Opus lies. Be aware that using an Opus other than version 1.3 may not work.

Installation

Add this to your Cargo.toml:

[dependencies]
audiopus = "0.1"